package com.cn.jinl.domain;

import com.cn.jinl.utils.CommonUtil;
import com.google.common.collect.ImmutableMap;

import java.util.Date;
import java.util.List;
import java.util.Map;

public class OrderOutInfo {
    private String id;

    private String orderOutTime;

    private String orderOutCode;

    private String customer;

    private Integer orderCount;

    private String driver;

    private String orderOutStatus;

    private String makeOrderUser;

    private String customerAddress;

    private String value1;

    private String value2;

    private String value3;

    private String status;

    private Date createTime;

    private Date updateTime;

    private int count;

    private String storageOutId;
    private String outStorageTime;
    private String outStorageUser;
    private String disUserName;
    private String disUserTime;

    private String storageOutType;
    private String storageOutCode;
    private String storageOutTime;
    private String storageOutUser;
    private String storageOutStatus;

    private String readMark;

    private List<OrderOutRelate> orderOutRelates;

    public static final transient Map<String, String> STATUSMAP =
            ImmutableMap.of("0", "待发货", "1", "已发货", "2", "已取消");


    public static final transient Map<String, String> OUTSTATUSMAP =
            ImmutableMap.of("0", "待出库", "1", "已出库");


    public static final transient Map<String, String> TYPESTATUSMAP =
            ImmutableMap.of("1", "销售", "2", "报废");

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getOrderOutTime() {
        return orderOutTime;
    }

    public void setOrderOutTime(String orderOutTime) {
        this.orderOutTime = orderOutTime == null ? null : orderOutTime.trim();
    }

    public String getOrderOutCode() {
        return orderOutCode;
    }

    public void setOrderOutCode(String orderOutCode) {
        this.orderOutCode = orderOutCode == null ? null : orderOutCode.trim();
    }

    public String getCustomer() {
        return customer;
    }

    public void setCustomer(String customer) {
        this.customer = customer == null ? null : customer.trim();
    }

    public Integer getOrderCount() {
        return orderCount;
    }

    public void setOrderCount(Integer orderCount) {
        this.orderCount = orderCount;
    }

    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver == null ? null : driver.trim();
    }

    public String getOrderOutStatusCn() {
        return STATUSMAP.get(getOrderOutStatus());
    }
    public String getOrderOutStatus() {
        return orderOutStatus;
    }

    public void setOrderOutStatus(String orderOutStatus) {
        this.orderOutStatus = orderOutStatus == null ? null : orderOutStatus.trim();
    }

    public String getMakeOrderUser() {
        return makeOrderUser;
    }

    public void setMakeOrderUser(String makeOrderUser) {
        this.makeOrderUser = makeOrderUser == null ? null : makeOrderUser.trim();
    }

    public String getCustomerAddress() {
        return customerAddress;
    }

    public void setCustomerAddress(String customerAddress) {
        this.customerAddress = customerAddress == null ? null : customerAddress.trim();
    }

    public String getValue1() {
        return value1;
    }

    public void setValue1(String value1) {
        this.value1 = value1 == null ? null : value1.trim();
    }

    public String getValue2() {
        return value2;
    }

    public void setValue2(String value2) {
        this.value2 = value2 == null ? null : value2.trim();
    }

    public String getValue3() {
        return value3;
    }

    public void setValue3(String value3) {
        this.value3 = value3 == null ? null : value3.trim();
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }


    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public List<OrderOutRelate> getOrderOutRelates() {
        return orderOutRelates;
    }

    public void setOrderOutRelates(List<OrderOutRelate> orderOutRelates) {
        this.orderOutRelates = orderOutRelates;
    }

    public String getOutStorageTime() {
        return outStorageTime;
    }

    public void setOutStorageTime(String outStorageTime) {
        this.outStorageTime = outStorageTime;
    }

    public String getOutStorageUser() {
        return outStorageUser;
    }

    public void setOutStorageUser(String outStorageUser) {
        this.outStorageUser = outStorageUser;
    }

    public String getDisUserName() {
        return disUserName;
    }

    public void setDisUserName(String disUserName) {
        this.disUserName = disUserName;
    }

    public String getDisUserTime() {
        return disUserTime;
    }

    public void setDisUserTime(String disUserTime) {
        this.disUserTime = disUserTime;
    }

    public String getStorageOutId() {
        return storageOutId;
    }

    public void setStorageOutId(String storageOutId) {
        this.storageOutId = storageOutId;
    }

    public String getStorageOutTypeCn() {
        return TYPESTATUSMAP.get(getStorageOutType());
    }

    public String getStorageOutType() {
        return storageOutType;
    }

    public void setStorageOutType(String storageOutType) {
        this.storageOutType = storageOutType;
    }

    public String getStorageOutCode() {
        return storageOutCode;
    }

    public void setStorageOutCode(String storageOutCode) {
        this.storageOutCode = storageOutCode;
    }

    public String getStorageOutTime() {
        return storageOutTime;
    }

    public void setStorageOutTime(String storageOutTime) {
        this.storageOutTime = storageOutTime;
    }

    public String getStorageOutUser() {
        return storageOutUser;
    }

    public void setStorageOutUser(String storageOutUser) {
        this.storageOutUser = storageOutUser;
    }

    public String getStorageOutStatusCn() {
        return OUTSTATUSMAP.get(getStorageOutStatus());
    }

    public String getStorageOutStatus() {
        return storageOutStatus;
    }

    public void setStorageOutStatus(String storageOutStatus) {
        this.storageOutStatus = storageOutStatus;
    }

    public String getReadMark() {
        return readMark;
    }

    public void setReadMark(String readMark) {
        this.readMark = readMark;
    }

    public String getCreateTimeFt(){
        String formatTime = CommonUtil.getStrTime(getCreateTime(),"yyyy-MM-dd HH:mm:ss");
        return formatTime;
    }

}